package com.hgnu.dorm.mapper;

import com.hgnu.dorm.domain.dto.DormitoryPageQueryDto;
import com.hgnu.dorm.domain.po.Dormitory;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;

@Mapper
public interface DormitoryMapper {
    // 根据条件查询总数
    Long count(DormitoryPageQueryDto dto);
    //根据条件查询数据
    List<Dormitory> page(DormitoryPageQueryDto dto);

    /**
     * 查询宿舍信息
     *
     * @param id 宿舍信息主键
     * @return 宿舍信息
     */
    public Dormitory selectDormitoryById(Integer id);

    /**
     * 查询宿舍信息列表
     * @return 宿舍信息集合
     */
    public List<Dormitory> selectDormitoryList();

    /**
     * 新增宿舍信息
     *
     * @param dormitory 宿舍信息
     * @return 结果
     */
    public int insertDormitory(Dormitory dormitory);

    /**
     * 修改宿舍信息
     *
     * @param dormitory 宿舍信息
     * @return 结果
     */
    public int updateDormitory(Dormitory dormitory);

    /**
     * 批量删除宿舍信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDormitoryByIds(Long[] ids);

    /**
     * 根据id统计已住人数大于0的宿舍数量
     */
    public int countStatus(Long[] ids);
}
